////////////////////////////////////////////////////////////////
///
/// File: ComplexTmpExp.m
/// Author: Lucio Davide Spano
/// Last update: 25 August 2012
/// Description: This file contains the definition of a n-ary
///              temporal expression
/// To do:
/// ------------------------------------------------------------
/// Copyright (c) 2012 Lucio Davide Spano
///                     (lucio.davide.spano@isti.cnr.it)
///
/// The use and distribution terms for this software are
/// contained in the file named license.txt, which can be found
/// in the root of this distribution.
/// By using this software in any fashion, you are agreeing to
/// be bound by the terms of this license.
///
/// You must not remove this notice, or any other, from this
/// software.
/// ------------------------------------------------------------
////////////////////////////////////////////////////////////////

#import <Foundation/Foundation.h>
#import "TmpExp.h"
#import "StateChangeHandler.h"
@interface ComplexTmpExp : TmpExp<StateChangeHandler>

{
    NSMutableArray *operands;
    NSMutableArray *completion;
}


@property TmpOperator tmpOperator;

- (void) addOperand: (TmpExp*) operand;
- (void) removeOperand: (TmpExp*) operand;
- (NSEnumerator *) getOperands;
- (TmpExp*) getOperand:(int) pos;
- (void) setExecState:(int)state :(Token *)token;
- (void) onStateChanged:(TmpExp *)sender :(ExpEventArgs *)args :(Token *)token;
@end
